package com.douxg.fastCoding.db;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.douxg.fastCoding.db.mysql.Tables;
import com.douxg.fastCoding.web.entity.DbInfo;
import com.douxg.fastCoding.web.eo.DbInfoEo;

import java.util.List;

/**
 * @Description
 * @Auther douxg
 * @Date 2020/7/14 22:56
 */
public interface DbFunction {
    List<ColumnsEO> getColumnsEo(DbInfoEo dbInfoEo, String tableName);

    /**
     * 将dbinfo中的jdbcUrl和host、port等参数保持一致
     * 如果存在host、port，不存在jdbcUrl,则生成jdbcUrl并存入DbInfoEo
     * 反之，将jdbcUrl解析出host、port等存入DbInfoEo
     *
     * @param dbInfo
     * @return
     */
    void handleJdbcUrl(DbInfo dbInfo);

    Page<Tables> getTables(Integer pageNum, Integer size, DbInfo dbInfo);
}
